A services-based enterprise data processing environment comprises providers of services and consumers of those services. A service, also known as a web-service, is a function or functionality implemented in software, provided or hosted from a hardware data processing system, and made available over a data network for use by another hardware or software component. A provider system or component, which may be a combination of hardware and software, provides a service. A consumer system or component, which may also be a combination of hardware and software, uses or consumes the service. For example, a consumer component may itself be a service.
An Enterprise Service Bus (ESB) is a modular, component based architecture interconnecting consumer components with provider components through a collection of other components. These other components collectively form a part of the ESB. Some of these components operate as commodities and are consumed by other services.
The endpoint components, such as the consumers and the providers, direct all requests and deliver all responses through the ESB. Typical functions of the ESB are, for example, to enforce compliance with security policies, to perform message mediation, and to reduce the number of point-to-point connections between applications.